import { useEffect, useState } from "react"; import { useMemoriesApi } from "@/hooks/useMemoriesApi"; import { useSelector } from "react-redux"; import { RootState } from "@/store/store"; import { Memory } from "@/components/types"; import Categories from "@/components/shared/categories"; import Link from "next/link"; import { formatDate } from "@/lib/helpers"; interface RelatedMemoriesProps { memoryId: string; } export function RelatedMemories({ memoryId }: RelatedMemoriesProps) { const { fetchRelatedMemories } = useMemoriesApi(); const relatedMemories = useSelector( (state: RootState) => state.memories.relatedMemories ); const [isLoading, setIsLoading] = useState(true); useEffect(() => { const loadRelatedMemories = async () => { try { await fetchRelatedMemories(memoryId); } catch (error) { console.error("Failed to fetch related memories:", error); } finally { setIsLoading(false); } }; loadRelatedMemories(); }, []); if (isLoading) { return (

Loading related memories...

); } if (!relatedMemories.length) { return (

No related memories found

); } return (

Related Memories

{relatedMemories.map((memory: Memory) => (

{memory.memory}

{memory.state !== "active" && ( {memory.state === "paused" ? "Paused" : "Archived"} )}
{formatDate(memory.created_at)}
))}
); }